package cn.com.surker.material.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 原材合同
 * </p>
 *
 * @author admin
 * @since 2024-07-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class MainMaterialContract implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 材料合同ID
     */
    private Long contractId;
    /**
     * 简称
     */
    private String code;

    /**
     * 性质
     */
    private Integer quality;

    /**
     * 供应商ID
     */
    private Long supplierId;

    /**
     * 合同名称
     */
    private String name;

    /**
     * 联系方式
     */
    private String phone;

    /**
     * 联系人
     */
    private String linkMan;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 公司名称
     */
    private String orgName;

    /**
     * 类型
     */
    private Integer type;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date startDate;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date endDate;

    /**
     * 签订时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date signTime;

    /**
     * 过磅等待时间
     */
    private Integer waitTime;

    /**
     * 联系地址
     */
    private String address;

    /**
     * 状态(0:启用1:禁用)
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 修改人
     */
    private String updator;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;
    public MainMaterialContract(){}
    public MainMaterialContract(Long contractId, String code, Integer quality, Long supplierId, String name, String phone, String linkMan, Long orgId, String orgName, Integer type, Date startDate, Date endDate, Date signTime, Integer waitTime, String address, Integer status, String remark, Date createTime, String creator) {
        this.contractId = contractId;
        this.code = code;
        this.quality = quality;
        this.supplierId = supplierId;
        this.name = name;
        this.phone = phone;
        this.linkMan = linkMan;
        this.orgId = orgId;
        this.orgName = orgName;
        this.type = type;
        this.startDate = startDate;
        this.endDate = endDate;
        this.signTime = signTime;
        this.waitTime = waitTime;
        this.address = address;
        this.status = status;
        this.remark = remark;
        this.createTime = createTime;
        this.creator = creator;
    }
}
